package com.github.tyc1210.config;

/**
 * 实现事务上线文，替换 TransactionSynchronizationManager 中的业务逻辑，用来指明线程执行过程那一段 需要使用到事务
 *
 * @author tyc
 * @version 1.0
 * @date 2024-01-08 11:43:50
 */
public class TransactionContext {
    private static final ThreadLocal<Boolean> TRAN_SWITCH_CONTEXT = new ThreadLocal<>();
    static {
        // 默认事务处于关闭状态
        TRAN_SWITCH_CONTEXT.set(false);
    }
    // 开启事务
    public static void openTran() {

        TRAN_SWITCH_CONTEXT.set(true);
    }
    // 关闭事务
    public static void closeTran() {
        TRAN_SWITCH_CONTEXT.set(false);
    }
    // 判断是否开启事务
    public static Boolean isOpenTran() {
        return TRAN_SWITCH_CONTEXT.get();
    }
}
